package com.ctshk.rpc.ship.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Description
 * @Author wansi <gaylen15527491065@yeah.net>
 * @Date 2021/3/25
 */
@Data
@ApiModel(value = "根据产品id获取预订中心船票订单信息")
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class ShipReservationGetOrderDTO implements Serializable {

    @ApiModelProperty(value = "产品id")
    private Long id;

    @ApiModelProperty(value = "产品编号")
    private String code;

    @ApiModelProperty(value = "预订须知")
    private String bookingInformation;

    @ApiModelProperty(value = "乘客须知")
    private String passengerInformation;

    @ApiModelProperty(value = "小童购票须知")
    private String kidTicketingInformation;

    @ApiModelProperty(value = "税费与其他费用(HKD)")
    private BigDecimal otherFeePrice;

    @ApiModelProperty(value = "预订服务费(HKD)")
    private Double serviceChargePrice;

    @ApiModelProperty(value = "成人价格(HKD)=成本价*汇率+加辐费+预订服务费+税费")
    private BigDecimal adultPrice;

    @ApiModelProperty(value = "小童价格(HKD)=成本价*汇率+加辐费+预订服务费+税费")
    private BigDecimal childPrice;

    @ApiModelProperty(value = "长者价格(HKD)=成本价*汇率+加辐费+预订服务费+税费")
    private BigDecimal oldPrice;

    @ApiModelProperty(value = "成人价格(HKD)=成本价*汇率+加辐费")
    private BigDecimal beforeChildPrice;

    @ApiModelProperty(value = "小童价格(HKD)=成本价*汇率+加辐费")
    private BigDecimal beforeAdultPrice;

    @ApiModelProperty(value = "长者价格(HKD)=成本价*汇率+加辐费")
    private BigDecimal beforeOldPrice;

    @ApiModelProperty(value = "取消政策(1 限时取消  2 不退不改)")
    private Integer cancelPolicy;

    @ApiModelProperty(value = "是否需要证件（0：不需要 1：需要）")
    private Integer isNeedCertificates;

    @ApiModelProperty(value = "是否需要航班信息")
    private Integer isNeedRoute;

    @ApiModelProperty(value = "出发城市Id")
    private Long depCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String depCityName;

    @ApiModelProperty(value = "到达城市Id")
    private Long arrCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arrCityName;

    @ApiModelProperty(value = "出发港口ID")
    private Long depPlaceId;

    @ApiModelProperty(value = "出发港口")
    private String depPlaceName;

    @ApiModelProperty(value = "到达港口ID")
    private Long arrPlaceId;

    @ApiModelProperty(value = "到达港口")
    private String arrPlaceName;

    @ApiModelProperty(value = "出发时间")
    private String depTime;

    @ApiModelProperty(value = "航次码")
    private String voyage;

    @ApiModelProperty(value = "船舱等级(1 普通舱，2 高级舱，3 豪华舱)")
    private String cabinClassName;

    @ApiModelProperty(value = "船舱等级(1 普通舱，2 高级舱，3 豪华舱)")
    private Long cabinClass;
}
